package edu.tfh.s2.ehkbot.inventar;

import java.io.Serializable;

/**
 * Einkaufsposten Speichert Menge, Status und die Ware.
 * 
 * @author s2zehn
 */
public class Einkaufsposten implements Serializable {
	/**
	 * Bildet die Statuse von Einkaufsposten ab.
	 */
	public enum EinkaufspostenStatus {
		ERLAEDIGT, NICHTMOEGLICH, TEILWEISE, UNERLAEDIGT;
	}

	private static final long serialVersionUID = -3175091863271003249L;

	private int menge;
	private EinkaufspostenStatus status;
	private Ware ware;

	/**
	 * Konstruktor für Einkaufsposten.
	 * 
	 * @param ware
	 *            Die Ware
	 * @param menge
	 *            Die Menge
	 */
	public Einkaufsposten(Ware ware, int menge) {
		this(ware, menge, EinkaufspostenStatus.UNERLAEDIGT);
	}

	/**
	 * Konstruktor für Einkaufsposten.
	 * 
	 * @param ware
	 *            Die Ware
	 * @param menge
	 *            Die Menge.
	 * @param status
	 *            Der Status.
	 */
	public Einkaufsposten(Ware ware, int menge, EinkaufspostenStatus status) {
		this.status = status;
		this.menge = menge;
		this.ware = ware;

	}

	/**
	 * Liefert die Menge.
	 * 
	 * @return Die Menge.
	 */
	public int getMenge() {
		return menge;
	}

	/**
	 * Liefert den Einkaufsposten Status.
	 * 
	 * @return Der Einkaufsposten Status.
	 */
	public EinkaufspostenStatus getStatus() {
		return status;
	}

	/**
	 * Liefert die Ware.
	 * 
	 * @return Die Ware.
	 */
	public Ware getWare() {
		return ware;
	}

	/**
	 * Setzt den Einkaufsposten Status.
	 * 
	 * @param status
	 *            Der zu setztende Einkaufsposten Status.
	 */
	public void setStatus(EinkaufspostenStatus status) {
		this.status = status;

	}
}
